const { defineConfig } = require('@vue/cli-service')
const { resolve } = require('path')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false, // 关闭保存时的 ESLint 检查
  configureWebpack: {
    resolve: {
      alias: {
        'assets': '@/assets',
        'common': '@/common',
        'components': '@/components',
        'network': '@/network',
        'views': '@/views',
        'store': '@/store',
        'router': '@/router',
        'styles':'@/styles',
        'utils': '@/utils',
        '@': resolve('src'), // 使用resolve函数确保路径正确解析
      },
      // extensions: ['.js', '.vue', '.json']
      }
  },
  // 在这个配置中，所有以/api开头的请求都会被代理到http://localhost:3000
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:5000',// 后端服务器的基础URL
        changeOrigin: true,// 是否改变请求源头，开启后可以使请求看起来像是从目标服务器发出的
        pathRewrite: {// 路径重写，去除请求路径中的'/api'前缀
          '^/api': ''
        }
      }
    }
  },
  chainWebpack(config) {
    config.plugins.delete('prefetch');
    config.plugins.delete('preload');
    // 设置svg
    config.module.rule('svg').exclude.add(resolve('src/icons')).end();
    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(resolve('src/icons'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]'
      })
      .end();
  }
})
